﻿using System; 
using System.Collections.Generic;
using System.Text;

namespace AJAXChatClient.Flash.Media
{
    /// <summary>
    /// The SoundTransform class contains properties for volume and panning.
    /// </summary>
    public class SoundTransform
    {
        public SoundTransform() : this(1, 0) { }

        public SoundTransform(float vol) : this(vol, 0) { }

        /// <summary>
        /// Creates a <see cref="SoundTransform"/>
        /// </summary>
        /// <param name="vol">The volume, ranging from 0 (silent) to 1 (full volume).</param>
        /// <param name="panning">
        /// The left-to-right panning of the sound, 
        /// ranging from -1 (full pan left) to 1 (full pan right).
        /// A value of 0 represents no panning (center).
        /// </param>
        public SoundTransform(float vol, float panning)
        {
        }

        /// <summary>
        /// A value, from 0 (none) to 1 (all), specifying how much of the left input is played in the left speaker.
        /// </summary>
        public float LeftToLeft
        {
            get;
            set;
        }

        /// <summary>
        /// A value, from 0 (none) to 1 (all), specifying how much of the left input is played in the right speaker.
        /// </summary>
        public float LeftToRight
        {
            get;
            set;
        }

        /// <summary>
        /// The left-to-right panning of the sound, ranging from -1 (full pan left) to 1 (full pan right).
        /// A value of 0 represents no panning (balanced center between right and left).
        /// </summary>
        public float Pan
        {
            get;
            set;
        }

        /// <summary>
        /// A value, from 0 (none) to 1 (all), specifying how much of the right input is played in the left speaker.
        /// </summary>
        public float RightToLeft
        {
            get;
            set;
        }

        /// <summary>
        /// A value, from 0 (none) to 1 (all), specifying how much of the right input is played in the right speaker.
        /// </summary>
        public float RightToRight
        {
            get;
            set;
        }

        /// <summary>
        /// The volume, ranging from 0 (silent) to 1 (full volume).
        /// </summary>
        public float Volume
        {
            get;
            set;
        }
    }
}
